/***************************************************************************/
/* Procedimiento:  Aduana_Multiple_DespachoInsertar
/* Descripcion:   Insertar o Modifica una fila en la tabla ediv2.Aduana_Multiple_Despacho
/* Parametros:    ?InfoParametros
/*                pTransaccion. Numero identificador de la Transaccion
/*                pMensaje. Mensaje de comfirmacion o excepcion
/* Comentarios:         
/****************************************************************************/

PROCEDURE  Aduana_Multiple_DespachoInsertarModificar(pnidDocumento NUMBER, pnidAduanaMultiple NUMBER, 
						pcantidad NUMBER, pnidEmbalaje NUMBER, pdescripcion VARCHAR2, 
						pdimensiones VARCHAR2, pnidViaje NUMBER, pregistroBuque VARCHAR2, 
						pfechaArribo VARCHAR2, pjustificacion VARCHAR2, ppedimento NUMBER, 
						pconocimiento VARCHAR2, pnidEmpresa NUMBER, pnumeroSerie VARCHAR2, 
						pnidTipoDespacho NUMBER, plugarDespacho VARCHAR2, pTransaccion OUT NUMBER, pMensaje OUT VARCHAR2)
AS
vExisteRegistro NUMBER(1);
BEGIN
  SELECT count(*)
  INTO   vExisteRegistro
  FROM   ediv2.Aduana_Multiple_Despacho
  WHERE  nidDocumento=pNidDocumento;
  
  IF vExisteRegistro=0 THEN
    INSERT INTO ediv2.Aduana_Multiple_Despacho
	           (nid, nidDocumento, nidAduanaMultiple, 
						cantidad, nidEmbalaje, descripcion, 
						dimensiones, nidViaje, registroBuque, 
						fechaArribo, justificacion, pedimento, 
						conocimiento, nidEmpresa, numeroSerie, 
						nidTipoDespacho, lugarDespacho)
    VALUES     (seq_Aduana_Multiple_Despacho.nextval, pnidDocumento, pnidAduanaMultiple, 
						pcantidad, pnidEmbalaje, pdescripcion, 
						pdimensiones, pnidViaje, pregistroBuque, 
						to_date(pfechaArribo,'DD/MM/YYYY HH24:MI:SS'), pjustificacion, ppedimento, 
						pconocimiento, pnidEmpresa, pnumeroSerie, 
						pnidTipoDespacho, plugarDespacho);
  ELSE
    UPDATE ediv2.Aduana_Multiple_Despacho
    SET    nidDocumento=pnidDocumento, nidAduanaMultiple=pnidAduanaMultiple, 
		cantidad=pcantidad, nidEmbalaje=pnidEmbalaje, descripcion=pdescripcion, 
		dimensiones=pdimensiones, nidViaje=pnidViaje, registroBuque=pregistroBuque, 
		fechaArribo=to_date(pfechaArribo,'DD/MM/YYYY HH24:MI:SS'), justificacion=pjustificacion, pedimento=ppedimento, 
		conocimiento=pconocimiento, nidEmpresa=pnidEmpresa, numeroSerie=pnumeroSerie, 
		nidTipoDespacho=pnidTipoDespacho, lugarDespacho=plugarDespacho
    WHERE  nidDocumento=pNidDocumento;
  END IF;
  
  COMMIT;
  pTransaccion := 1;
  pMensaje := 'Terminado OK';
  dbms_output.put_line('Terminado OK');

EXCEPTION
  WHEN OTHERS THEN
    pTransaccion := 0;
    pMensaje := 'Error en  Aduana_Multiple_Despacho_InsertarModificar:' || SQLCODE || ' Mensaje: ' || sqlerrm;
    dbms_output.put_line('Error en  Aduana_Multiple_Despacho_InsertarModificar:' || SQLCODE || ' Mensaje: ' || sqlerrm);
END;
